import java.util.List;

import mapeamento.MapeamentoAbsoluto;
import mapeamento.MapeamentoRelativo;
import mapeamento.Mapeamentos;
import parsedquery.Conceito;
import parsedquery.ParsedQuery;
import algoritmos.DecomposeQuery;


public class Cxpath2XQuery {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List<Conceito> query = ParsedQuery.getParsedQuery();
		List<MapeamentoAbsoluto> mapAbsoluto = Mapeamentos.getMapAbsolutos();
		List<MapeamentoRelativo> mapRelativo = Mapeamentos.getMapRelativo();

		System.out.println("--- MAPEAMENTO ABSOLUTO ----");
		for (int i = 0; i < mapAbsoluto.size(); i++) {
			System.out.println(mapAbsoluto.get(i));
		}

		System.out.println("\n--- MAPEAMENTO RELATIVO ----");
		for (int i = 0; i < mapRelativo.size(); i++) {
			System.out.println(mapRelativo.get(i));
		}

		System.out.println("\n--- PARSED QUERY ----");
		for (int i = 0; i < query.size(); i++) {
			System.out.println(query.get(i));
		}
		
		String xquery = DecomposeQuery.execute(query, mapAbsoluto, mapRelativo, null, null);
		System.out.println("\n--- FINAL QUERY ----");
		System.out.println(xquery);		
	}
}
